package com.xd.core.business.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 放款表
 * </p>
 *
 * @author ZX
 * @since 2025-02-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class OutInsuranceWindowVo implements Serializable {

    @ApiModelProperty(value = "借款主体")
    private String name;

    @ApiModelProperty(value = "主体类型（0--自然人，1--企业）")
    private String principalType;

    @ApiModelProperty(value = "主体类型（0--自然人，1--企业）")
    private String principalTypeRemark;

    @ApiModelProperty(value = "身份证/统一信用社会代码")
    private String idCard;

    @ApiModelProperty(value = "借款期数")
    private Integer term;

    @ApiModelProperty(value = "贷款期限")
    private Integer termUse;

    @ApiModelProperty(value = "还款日")
    private String repayDay;

    @ApiModelProperty(value = "借款金额")
    private BigDecimal loanAmount;

    @ApiModelProperty(value ="投保公司名称")
    private String insuranceCompanyName;

    @ApiModelProperty(value = "投保公司账户")
    private String receivingAccount;

    @ApiModelProperty(value ="投保公司联行号")
    private String bankCode;

    @ApiModelProperty(value = "投保公司开户银行")
    private String bank;

    @ApiModelProperty(value = "借款人还款账户")
    private String repayAccount;

    @ApiModelProperty(value = "付款通道(1-通道一，2-通道二)")
    private String payPass;

    @ApiModelProperty(value = "付款账户")
    private String accountPayment;

    @ApiModelProperty(value = "执行年化率（单位%）")
    private BigDecimal rate;

    @ApiModelProperty(value = "借款开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd", shape = JsonFormat.Shape.STRING, timezone = "GMT+8")
    private Date outStartTime;

    @ApiModelProperty(value = "借款结束日期")
    @JsonFormat(pattern = "yyyy-MM-dd", shape = JsonFormat.Shape.STRING, timezone = "GMT+8")
    private Date outEndTime;

    @ApiModelProperty(value = "最近一次还款日期")
    @JsonFormat(pattern = "yyyy-MM-dd", shape = JsonFormat.Shape.STRING, timezone = "GMT+8")
    private Date latestRepayDate;

}
